package com.budwk.app.sqfw.models;

import com.budwk.starter.common.openapi.annotation.ApiModel;
import com.budwk.starter.common.openapi.annotation.ApiModelProperty;
import com.budwk.starter.database.model.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;

import java.io.Serializable;

/**
 * 腾讯云
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@Table("shequ.sqfw_push_msg_log")
@Comment("发送消息记录日志表")
@ApiModel(description = "发送消息记录日志表")
public class SqfwPushMsgLog extends BaseModel implements Serializable {
    private static final long serialVersionUID = 1L;

    @Column
    @Name
    @Comment("编号")
    @ApiModelProperty(description = "ID")
    @ColDefine(type = ColType.VARCHAR, width = 50)
    @PrevInsert(uu32 = true, nullEffective = true)
    private String id;

    @Column("push_msg_config")
    @Comment("发送信息基本配置数据")
    @ApiModelProperty(description = "发送信息基本配置数据")
    @ColDefine(type = ColType.TEXT)
    private String pushMsgConfig;

    @Column("push_id")
    @Comment("发送者")
    @ApiModelProperty(description = "发送者")
    @ColDefine(type = ColType.VARCHAR, width = 200)
    private String pushUserId;

    @Column("push_user_name")
    @Comment("发送者")
    @ApiModelProperty(description = "发送者姓名")
    @ColDefine(type = ColType.VARCHAR, width = 200)
    private String pushUserName;

    @Column("receive_id")
    @Comment("接收人")
    @ApiModelProperty(description = "接收人")
    @ColDefine(type = ColType.VARCHAR, width = 200)
    private String receiveId;

    @Column("receive_user_phone")
    @Comment("接收人号码")
    @ApiModelProperty(description = "接收人号码")
    @ColDefine(type = ColType.VARCHAR, width = 200)
    private String receiveUserPhone;

    @Column("receive_user_name")
    @Comment("接收人姓名")
    @ApiModelProperty(description = "接收人姓名")
    @ColDefine(type = ColType.VARCHAR, width = 200)
    private String receiveUserName;

    @Column("is_read")
    @Comment("是否读取")
    @ApiModelProperty(description = "是否读取")
    @ColDefine(type = ColType.BOOLEAN)
    private boolean isRead;

    @Column("reply_content")
    @Comment("回复内容体()")
    @ApiModelProperty(description = "回复内容体(按照对象PushMsgVo存储)")
    @ColDefine(type = ColType.TEXT, width = 500)
    private String replyContent;

    @Column("context_data")
    @Comment("发送内容体")
    @ApiModelProperty(description = "发送内容体(按照对象PushMsgVo存储)")
    @ColDefine(type = ColType.TEXT)
    private String contextData;

    @Column("msg_type")
    @Comment("消息类型（系统消息  人工消息）")
    @ApiModelProperty(description = "消息类型（系统消息  人工消息）")
    @ColDefine(type = ColType.VARCHAR, width = 50)
    private String msgType;

    @Column("remark")
    @Comment("备注")
    @ApiModelProperty(description = "备注")
    @ColDefine(type = ColType.VARCHAR, width = 500)
    private String remark;

    @Column("push_batch_no")
    @Comment("发送批次号")
    @ApiModelProperty(description = "发送批次号")
    @ColDefine(type = ColType.VARCHAR, width = 500)
    private String pushBatchNo;

    @Column("is_success")
    @Comment("是否发送成功")
    @ApiModelProperty(description = "是否发送成功")
    @ColDefine(type = ColType.BOOLEAN)
    private Boolean isSuccess;

    private Integer pageNo = 1;
    private Integer pageSize = 20;

    // 1 收件箱  2 发送箱
    private String pushType;
    // 单位id
    private String unitId;


}
